#ifndef __RECEIVER_H_INCLUDE__
#define __RECEIVER_H_INCLUDE__

#include <irrlicht.h>
#include <list>

using namespace irr;
using namespace video;
using namespace scene;
using namespace core;


class MyEventReceiver : public IEventReceiver
{
public:

	MyEventReceiver(IrrlichtDevice* in_device, ICameraSceneNode* in_camera, ICameraSceneNode* in_third_camera);

	~MyEventReceiver();

	virtual void SetCameras(ICameraSceneNode* in_camera, ICameraSceneNode* in_third_camera);

	virtual void SetDevice(IrrlichtDevice* in_device);

    virtual bool OnEvent(const SEvent& event);

	virtual void Set_Reload(bool to_reload);

	virtual bool Get_Reload();
    
	virtual int Get_Cycle();

	virtual int Get_Size();

	virtual void Set_Size(int in_Amount);

	virtual bool Get_Draw_Path();

	virtual void Set_Clear();

	virtual bool Get_Clear();

protected:
	IrrlichtDevice* device;
	ICameraSceneNode* camera;
	ICameraSceneNode* third_person_camera;
	ISceneNode* node_to_move;
	int cycle_point;
	bool reload;
	int path_size;
	bool draw_path;
	bool clear_path;
	bool move_obj;
	array<u32> node_names;
	int name_counter;
};

#endif